/*********************************************************************************
  *Copyright (C), 2016-2023, jiance.zhang
  *FileName:  app_main.c
  *Author:  jiance.zhang
  *Version:  V1.0
  *Date: 2024-04-16
  *Description: 
  *             
  *History:
  * 1. 2024-04-16;jiance.zhang;Init Function 
  * 2. 
  * 3. 
  * 4. 
***********************************************************************************/


/****************************************Includes***********************************/
#include "app_main.h"
#include "app_task.h"
#include "FreeRTOS.h"
#include "task.h"
#include "CAN_Module.h"
#include "xcp_task.h"
#include "XcpBasic.h"
/***************************************Variables***********************************/


/***************************************Functions***********************************/


/*******************************************************************************
 * @name app_init
 * @brief init function for app
 * @param[in] None
 * @param[out] None
 * @retval None
 * @author  jiance.zhang
 *******************************************************************************/
void app_init(void)
{
  CAN_Module_Init(0);
  XcpInit();
}


/*******************************************************************************
 * @name app_main
 * @brief main function for app
 * @param[in] None
 * @param[out] None
 * @retval None
 * @author  jiance.zhang
 *******************************************************************************/
void app_main(void)
{
    xTaskCreate(LED_Task, "LED_Task", 256, NULL, 1, NULL);
    xTaskCreate(XCP_Task, "XCP_Task", 256, NULL, 3, NULL);
    xTaskCreate(XCP_Event_Task, "XCP_EVENT_10", 256, (void*)(&XCP_Event_Config[0]), 3, NULL);
    xTaskCreate(XCP_Event_Task, "XCP_EVENT_100", 256, (void*)(&XCP_Event_Config[1]), 3, NULL);
    vTaskStartScheduler();
}